package com.hibikiluler.javalearning.mapper;

import com.github.pagehelper.Page;
import com.hibikiluler.javalearning.entity.SysAdmins;
import com.hibikiluler.javalearning.entity.SysRole;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 角色数据的增删改查
 */
public interface SysRoleMapper {

    // 添加
    void insert(SysRole sysRole);
    //删除
    void delete(Long id);
    //修改
    void update(SysRole sysRole);
    //分页查询
     Page<SysRole> findPage(String queryString);

    //根据角色id删除对应的菜单信息
    void deleteMenusByRoleId(@Param("roleId") Long roleId);

    //根据角色id删除对应的权限信息
    void deleteAdminByRoleId(@Param("roleId") Long roleId);

     //根据角色id查询角色信息
    SysRole findById(Long id);

    //添加角色的权限信息
    void insertAdmin(@Param("roleId")Long roleId, @Param("adminId")Long adminId);

    //添加角色的菜单信息
    void insertMenus(@Param("roleId")Long roleId, @Param("menusId")Long menusId);

    //根据角色名称查询是否存在角色信息
    SysRole findByLabel(String label);

    /**
     * 查询所有的角色信息
     * @return
     */
    List<SysRole> findAll();
}
